home *** CD-ROM | disk | FTP | other *** search
/ Graphics Plus / Graphics Plus.iso / general / modelers / geomview / source.lha / Geomview / include / windowP.h < prev    next >
C/C++ Source or Header  |  1992-05-13  |  2KB  |  54 lines

  1. /* Copyright (c) 1992 The Geometry Center; University of Minnesota
  2.    1300 South Second Street;  Minneapolis, MN  55454, USA;
  3.    
  4. This file is part of geomview/OOGL. geomview/OOGL is free software;
  5. you can redistribute it and/or modify it only under the terms given in
  6. the file COPYING, which you should have received along with this file.
  7. This and other related software may be obtained via anonymous ftp from
  8. geom.umn.edu; email: software@geom.umn.edu. */
  9.  
  10. /* Authors: Charlie Gunn, Stuart Levy, Tamara Munzner, Mark Phillips */
  11.  
  12. #ifndef WINDOWPDEF
  13. #define WINDOWPDEF
  14.  
  15. #include <stdarg.h>
  16. #include "window.h"
  17.  
  18. /* Private definitions for Window package */
  19.  
  20. /*
  21.  * Private flag bits:
  22.  * "flag" indicates whether corresponding field valid,
  23.  * "changed" indicates whether changed since someone last unset "changed".
  24.  */
  25. #define    WNF_ENLARGE    0x01    /* Allow window to be enlarged from pref size*/
  26. #define    WNF_SHRINK    0x02    /* Allow window to be shrunk */
  27. #define WNF_NOBORDER    0x04    /* Draw window without frame */
  28.  
  29. #define WNF_HASPREF    0x10    /* Requested position */
  30. #define WNF_HASSIZE    0x20    /* Requested size */
  31. #define    WNF_HASVP    0x40    /* Drawing viewport within window */
  32. #define    WNF_HASCUR    0x80    /* Window's "current position" */
  33. #define    WNF_HASNAME    0x100    /* Window's title */
  34. #define    WNF_HASPIXASPECT 0x200    /* pixel aspect ratio? */
  35.  
  36. struct WnWindow {
  37.     REFERENCEFIELDS
  38.     long    flag;        /* Which fields are set?     */
  39.     long    xsize, ysize;    /* Window size             */
  40.     WnPosition    pref;        /* Requested abs win position     */
  41.     WnPosition    cur;        /* Current position         */
  42.     WnPosition    viewport;    /* Relative viewport in win     */
  43.     char    *win_name;    /* Window title             */
  44.     float    aspect;        /* X/Y Aspect ratio (of cur pos) */
  45.     float    pixaspect;    /* Aspect ratio of hardware pixels */
  46.     long    changed;    /* These fields changed         */
  47. };
  48.  
  49. extern WnWindow *_WnSet(WnWindow *, int firstattr, va_list *alist);
  50.  
  51. #define    WINDOWMAGIC    OOGLMagic('w', 1)
  52.  
  53. #endif    /* WINDOWPDEF */
  54.